window: enable client side decorations deactivation with wayland backend
authorLionel Landwerlin <llandwerlin@gmail.com>
Wed, 4 Dec 2013 11:45:46 +0000 (11:45 +0000)
committerLionel Landwerlin <llandwerlin@gmail.com>
Wed, 4 Dec 2013 17:24:48 +0000 (17:24 +0000)
gtk/gtkwindow.c

index 29c3fccac7cc3b0c87fd9764e4b3d13f0b5abf84..e1aea9c85806e12a40f5c322deb8c76406af4619 100644 (file)
@@ -5390,6 +5390,7 @@ static gboolean
 gdk_window_should_use_csd (GtkWindow *window)
 {
   GtkWindowPrivate *priv = window->priv;
+  const gchar *csd_env;
 
   if (!priv->decorated)
     return FALSE;
@@ -5397,17 +5398,20 @@ gdk_window_should_use_csd (GtkWindow *window)
   if (priv->type == GTK_WINDOW_POPUP)
     return FALSE;
 
-#ifdef GDK_WINDOWING_WAYLAND
-  if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+#ifdef GDK_WINDOWING_BROADWAY
+  if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
     return TRUE;
 #endif
 
-#ifdef GDK_WINDOWING_BROADWAY
-  if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+  csd_env = g_getenv ("GTK_CSD");
+
+#ifdef GDK_WINDOWING_WAYLAND
+  if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))) &&
+      g_strcmp0 (csd_env, "0") != 0)
     return TRUE;
 #endif
 
-  return (g_strcmp0 (g_getenv ("GTK_CSD"), "1") == 0);
+  return (g_strcmp0 (csd_env, "1") == 0);
 }
 
 static void